package com.xian.d5_collection_list;

import java.util.ArrayList;
import java.util.List;

/**
 * 1、List系列集合特点
 * ArrayList、LinekdList:有序，可重复，有索引。
 *
 * 2、List的实现类的底层原理
 * ArrayList底层是基于数组实现的，根据查询元素快，增删相对慢。
 * LinkedList底层基于双链表实现的，查询元素慢，增删收尾元素是非常快的。
 */
public class ListDemo1 {
    public static void main(String[] args) {
        //1.创建一个ArrayList集合对象:
        // List:有序,可重复,有索引的。
        List<String> list = new ArrayList<>();  //一行经典代码!!!
        list.add("Java");
        list.add("Java");
        list.add("HTML");
        list.add("HTML");
        list.add("MySQL");
        list.add("MySQL");

        //2.在某个索引位置插入元素。
        list.add(2,"贤");
        System.out.println(list);

        //3.根据索引删除元素,返回被删除元素
        System.out.println(list.remove(1));
        System.out.println(list);

        //4.根据索引获取元素:public E get(int index):返回集合中指定位置的元素。
        System.out.println(list.get(1));

        //5.修改索引位置处的元素: public E set(int index,E element)
        System.out.println(list.set(1, "小贤"));
        System.out.println(list);

    }
}
